#include <iostream>
#include <vector>
#include <memory>

using namespace std;
using TensorType = vector<float>;

class Variable{
public:
    Variable(const shared_ptr<TensorType>& data) {
        this->data = data;
    }

    shared_ptr<TensorType> data;
};


int main() {
    auto data = make_shared<TensorType>(TensorType{1.1, 1.2});

    Variable x(data);
    cout << (*x.data)[0] << endl;
    cout << (*x.data)[1] << endl;

    return 0;
}